package com.fg.cloud.manager.entry.order;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fg.cloud.common.convert.CustomBigDecimalSerialize;
import com.fg.cloud.manager.entry.BaseEntity;

/**
 * Description:发货单实体类
 * @author 陈银龙
 * @date 2017年8月24日上午9:23:04
 */
public class OrderDeliveryInfoEntity extends BaseEntity{

	private static final long serialVersionUID = 3266345913782638167L;
	
	private Long facId;// 厂商Id
	
	private String facName;// 经销商名字
	
	private Long ageId;// 经销商id
	
	private String ageName;// 经销商名字
	
	private Integer origin;// 单据来源
	
	private Long sourceBillId;// 订单 id
	
	private String sourceBillNo;//订单编号
	
	private BigDecimal amountTotal;// 发货单总价
	
	private Integer deliveryStatus;//单据状态:1,代发货;2,部分发货;,3已发完4,待收货；5，已收货
	
	private String deliveryNo; // 发货单编号
	
	private Long receiveId;//发货地址id
	
	private String receiveInfo;// 收货地址信息
	
	private String deliveryInfo;// 发货信息
	
	protected Date sendDate; // 创建时间
	
	private String receiveMan; //收货人名字

	protected Date receiveDate; // 收货时间

	protected Date deliveryDate; // 下单日期
	
	private String expressCompany; // 快递公司
	
	private String expressCompanyNo;// 快递公司编号
	
	private String expressNo;// 快递单编号

	private BigDecimal expressFee;// 快递费
	
	private Integer isSynchronize;// 是否已同步
	
	private String remark; // 备注
	
	//非实体类中的属性
	private List<OrderDeliveryDetailEntity> detailList; // 明细集合

	//private List<ProductDeliveryFile> fileList;// 附件集合
	private List<String> fileList;// 附件url集合

	

	public String getFacName() {
		return facName;
	}

	public void setFacName(String facName) {
		this.facName = facName;
	}

	public String getDeliveryInfo() {
		return deliveryInfo;
	}

	public void setDeliveryInfo(String deliveryInfo) {
		this.deliveryInfo = deliveryInfo;
	}

	public BigDecimal getExpressFee() {
		return expressFee;
	}

	public void setExpressFee(BigDecimal expressFee) {
		this.expressFee = expressFee;
	}

	public List<String> getFileList() {
		return fileList;
	}

	public void setFileList(List<String> fileList) {
		this.fileList = fileList;
	}

	public String getAgeName() {
		return ageName;
	}

	public void setAgeName(String ageName) {
		this.ageName = ageName;
	}

	public Long getFacId() {
		return facId;
	}

	public void setFacId(Long facId) {
		this.facId = facId;
	}

	public Integer getOrigin() {
		return origin;
	}

	public void setOrigin(Integer origin) {
		this.origin = origin;
	}

	public Long getAgeId() {
		return ageId;
	}

	public void setAgeId(Long ageId) {
		this.ageId = ageId;
	}
	
	public Integer getDeliveryStatus() {
		return deliveryStatus;
	}

	public void setDeliveryStatus(Integer deliveryStatus) {
		this.deliveryStatus = deliveryStatus;
	}

	public String getDeliveryNo() {
		return deliveryNo;
	}

	public void setDeliveryNo(String deliveryNo) {
		this.deliveryNo = deliveryNo;
	}

	public Long getReceiveId() {
		return receiveId;
	}

	public void setReceiveId(Long receiveId) {
		this.receiveId = receiveId;
	}

	public String getReceiveInfo() {
		return receiveInfo;
	}

	public void setReceiveInfo(String receiveInfo) {
		this.receiveInfo = receiveInfo;
	}

	public Date getSendDate() {
		return sendDate;
	}

	public void setSendDate(Date sendDate) {
		this.sendDate = sendDate;
	}

	public Date getReceiveDate() {
		return receiveDate;
	}

	public void setReceiveDate(Date receiveDate) {
		this.receiveDate = receiveDate;
	}

	public Date getDeliveryDate() {
		return deliveryDate;
	}

	public void setDeliveryDate(Date deliveryDate) {
		this.deliveryDate = deliveryDate;
	}

	public String getExpressCompany() {
		return expressCompany;
	}

	public void setExpressCompany(String expressCompany) {
		this.expressCompany = expressCompany;
	}

	public String getExpressCompanyNo() {
		return expressCompanyNo;
	}

	public void setExpressCompanyNo(String expressCompanyNo) {
		this.expressCompanyNo = expressCompanyNo;
	}

	public String getExpressNo() {
		return expressNo;
	}

	public Long getSourceBillId() {
		return sourceBillId;
	}

	public void setSourceBillId(Long sourceBillId) {
		this.sourceBillId = sourceBillId;
	}

	public String getSourceBillNo() {
		return sourceBillNo;
	}

	public void setSourceBillNo(String sourceBillNo) {
		this.sourceBillNo = sourceBillNo;
	}

	@JsonSerialize(using=CustomBigDecimalSerialize.class)
	public BigDecimal getAmountTotal() {
		return amountTotal;
	}

	public void setAmountTotal(BigDecimal amountTotal) {
		this.amountTotal = amountTotal;
	}

	public String getReceiveMan() {
		return receiveMan;
	}

	public void setReceiveMan(String receiveMan) {
		this.receiveMan = receiveMan;
	}

	public List<OrderDeliveryDetailEntity> getDetailList() {
		return detailList;
	}

	public void setDetailList(List<OrderDeliveryDetailEntity> detailList) {
		this.detailList = detailList;
	}

	public void setExpressNo(String expressNo) {
		this.expressNo = expressNo;
	}

	public Integer getIsSynchronize() {
		return isSynchronize;
	}

	public void setIsSynchronize(Integer isSynchronize) {
		this.isSynchronize = isSynchronize;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

}
